package com.ins.model.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.handler.JacksonTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 信息集市 实体类。
 *
 * @author ins
 * @since 2024-05-14
 */

@EqualsAndHashCode(callSuper = true)
@Data
@Table(value = "app_info_market")
public class AppInfoMarket extends BaseEntity<AppInfoMarket> implements Serializable {

    @Serial
    private static final long serialVersionUID = -7812932835546895181L;
    /**
     * 用户id
     */
    @JsonIgnore
    @Column(value = "user_id")
    private Long userId;

    /**
     * 名称
     */
    @Column(value = "name")
    private String name;

    /**
     * 分类 摄影师=camera_man，演员=performer，通告=notification，场景=scene
     */
    @Column(value = "classify")
    private String classify;

    /**
     * 作品集，关联资源表
     */
    @Column(value = "pic", typeHandler = JacksonTypeHandler.class)
    private List<String> pic;

    /**
     * 价格
     */
    @Column(value = "price")
    private BigDecimal price;

    /**
     * 介绍
     */
    @Column(value = "intro")
    private String intro;

    /**
     * 联系方式
     */
    @Column(value = "phone")
    private String phone;

    /**
     * 作品集，关联资源表
     */
    @Column(value = "portfolio", typeHandler = JacksonTypeHandler.class)
    private List<String> portfolio;

    /**
     * 是否付费1是 0否
     */
    @Column(value = "paid")
    private Integer paid;

    /**
     * 付费时长
     */
    @Column(value = "paid_time")
    private Integer paidTime;

    /**
     * 剩余次数
     */
    @Column(value = "remaining_num")
    private Integer remainingNum;

    /**
     * 是否置顶1是 0否
     */
    @Column(value = "topping")
    private Integer topping;

    /**
     * 位置
     */
    @Column(value = "address")
    private String address;

    /**
     * 点赞数量
     */
    @Column(value = "like_num")
    private Integer likeNum;

    /**
     * 点踩数量
     */
    @Column(value = "tap_num")
    private Integer tapNum;

    /**
     * 查看数量
     */
    @Column(value = "view_num")
    private Integer viewNum;

    /**
     * 视频时间
     */
    @Column(value = "times")
    private String times;


}
